<?php

/**
 * Класс ImageResizer
 * пропорционально меняем размер изображения
 * 
 * http://docs.kohanaphp.com/libraries/image
 * 
 * @author k.ryabichenko@meta-morph.com.ua
 * 
 */
class ImageResizer {

    /**
     * Получить путь
     * @param string $path
     * @param string $wh
     * @return string
     */
    function getThumb($alt, $path, $img, $w, $h, $htmlOptions = array(), $url = false, $adaptiveThumb = true) {
        
        //проверяю есть ли изображение, если нет беру дефолтную
        if ($img=='' || !file_exists($_SERVER['DOCUMENT_ROOT'] . '/' . $path . $img)) {
            $elements = explode("/", $path);
            $path = $elements[0] . '/' . $elements[1] . '/' . $elements[2] . '/default/';
            $img = 'default.gif';
        }

        
        if (preg_match('/^(.+?)(\..+)$/', $img, $match)) {

            $resImg = $match[1] . 'w' . $w . 'h' . $h . $match[2];
            //проверяю наличие картинки с заданным размером
            if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/' . $path . $resImg)) {
                //echo "файл есть";
            } else {
//                $image = Yii::app()->image->load($path.$img);
//                $image->resize($w, $h, Image::NONE);
//                $image->save($path.$resImg);
                $ih = Yii::app()->ih->load($_SERVER['DOCUMENT_ROOT'] . '/' . $path . $img);                 
                if($adaptiveThumb)
                    $ih->adaptiveThumb($w, $h, true);
                else
                    $ih->thumb($w, $h, true);
                $ih->save($_SERVER['DOCUMENT_ROOT'] . '/' . $path . $resImg,false,100);
                        //->resize($w, $h, false)
                        //->thumb($w, $h,true)
                        
                        
            }
        } else {
            $resImg = $path;
        }
        
        $file_path = '/'.$path.$resImg;
        return ($url) ? $file_path : CHtml::image($file_path,$alt,$htmlOptions);//'<img alt="' . $alt . '" src="/'.$path.$resImg.'"  width="' . $w . '" height="' . $h . '">';
    }

}